A method and system for configuring caller line identification for short message service

ABSTRACT

A method performed by, and a system embedded within, a communication device operating in a communication network, performing the steps of: obtaining a plurality of caller identification codes for the caller device, where each of the caller identification codes identifies the caller device in a network; obtaining at least one rule for selecting a caller identification code from the plurality of caller identification codes according to a characteristic of the called device; obtaining a characteristic of the called device; selecting a caller identification code from the plurality of caller identification codes according to the characteristic of the destination telephone identification, or caller environment or destination environment parameters, or caller decision on the time of making the call; and forwarding the selected caller identification code to any of another communication network and a terminal device of a communication network.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application claims priority from a U.S. provisionalapplication No. 61/986357 filed in Apr. 30, 2014, and from a U.S.provisional application No. 62/077577 filed in Nov. 10, 2014, thecontents of both applications are hereby incorporated by reference.

FIELD

The present embodiments relate to telecommunications (telecom) and/ordata communications and, more particularly, but not exclusively to aprotocol by which a calling device identifies to a called device.

BACKGROUND

Caller identification, also known as Caller ID (CID), calling lineidentification (CLI or CLID), calling number delivery (CND), callingnumber identification (CNID) or calling line identification presentation(CLIP), is a telephone service by which a calling device identifiesitself to the called device. The service is available in analog anddigital telephone systems and in networks using the Internet Protocol(IP) including voice over Internet Protocol (VoIP). Typically, thecalled device, or the network's switch, or a similar device, transmitsthe CLI to the called party's telephone equipment during the call setupstage, such as during the ringing signal or period. The CLI can alsoprovide a string of alphanumeric characters such as a name associatedwith the calling telephone number. The CLI enables the caller toidentify itself to the called party in various ways before the calledparty answers the call. For example, when calling a call center thecaller can send an identification code associated with the called party,such as an account number. A network service as disclosed in U.S. patentapplication 20130003947 enables the caller to adapt the CLI to thecalled party. However, the service is limited to a caller subscribing tothe network providing the service. There is thus a need for addressingthese and/or other issues associated with the prior art.

SUMMARY

According to one aspect of the present invention there is provided asystem, method, and computer program product for configuring a callingline identification (CLI), performed by a communication device operatingin a communication network, the method including: obtaining a pluralityof caller identification codes for the caller device, where each of thecaller identification codes identifies the caller device in a network,obtaining at least one rule for selecting a caller identification codefrom the plurality of caller identification codes according to acharacteristic of any of the caller device, a called device, and aparameter obtained from an external source, obtaining thecharacteristic, selecting a caller identification code from theplurality of caller identification codes according to thecharacteristic; and forwarding the selected caller identification codeto any of: another communication network, and the called device.

According to another aspect of the present invention there is provided asystem, method, and computer program product for configuring CLI wherethe characteristic includes any of: a user selection of a defaultidentification code irrespective of the current identification code ofthe caller device, current geographical location of any of the callerdevice and called device, a communication network associated with thecalled device, an identification code associated with the called device,an identification code previously sent to the called device, anidentification code associated with a telephone number previously usedby the called device, a characteristic of a number dialed for the calledparty, a user selection of any of the above.

According to yet another aspect of the present invention there isprovided a system, method, and computer program product for configuringCLI where the characteristic of a number dialed includes a prefix of thenumber dialed.

According to still another aspect of the present invention there isprovided a system, method, and computer program product for configuringCLI where the prefix is associated with any of a communication network,a geographical location, a network functional range, and anorganization.

Further according to another aspect of the present invention there isprovided a system, method, and computer program product for configuringCLI where the identification code includes a network access number and aprivate telephone number.

Still further according to still another aspect of the present inventionthere is provided a system, method, and computer program product forconfiguring CLI where the device is a part of a the communicationnetwork.

Yet further according to still another aspect of the present inventionthere is provided a system, method, and computer program product forconfiguring CLI where the device is a part of a caller device in acommunication network.

Even further according to still another aspect of the present inventionthere is provided a system, method, and computer program product foridentifying a calling party to a called party in an integratedcommunication network, where the integrated communication networkincludes a plurality of native communication networks, where the callingparty subscribes to at least two native communication networks, themethod including: obtaining a plurality of caller identification codesfor the calling party, where each of the caller identification codesidentifies the calling party in one of the native communication network,obtaining at least one rule for selecting a caller identification codefrom the plurality of caller identification codes according to acharacteristic of any of the calling party, a called party, and aparameter obtained from an external source;, obtaining thecharacteristic, selecting a caller identification code from theplurality of caller identification codes according to thecharacteristic, and forwarding the selected caller identification codeto any of: a native communication network; and the called party.

Additionally according to still another aspect of the present inventionthere is provided a system, method, and computer program product foridentifying a calling party to a called party while sending content tothe called party, where the step of forwarding the selection from thecaller device to the communication device connecting the caller devicewith the called device is performed in a communication channel that isdifferent from the communication channel used to send the content fromthe caller device to the called device.

Additionally according to still another aspect of the present inventionthere is provided a system, method, and computer program product foridentifying a calling party to a called party while sending content tothe called party where the content is at least one of a text message, anSMS message, a multimedia message, an image message, and a videomessage.

Further according to still another aspect of the present invention thereis provided a system, method, and computer program product foridentifying a calling party to a called party where a calleridentification code of the plurality of caller identification codes ofthe caller device identifies the caller device in a second communicationnetwork, the second communication network being a differentcommunication network than the communication network currently servingthe caller device.

Yet further according to still another aspect of the present inventionthere is provided a system, method, and computer program product foridentifying a calling party to a called party where a calleridentification code of the plurality of caller identification codes ofthe caller device is associated with a SIM card provided by a secondcommunication network.

Unless otherwise defined, all technical and scientific terms used hereinhave the same meaning as commonly understood by one of ordinary skill inthe art to which this invention belongs. The materials, methods, andexamples provided herein are illustrative only and not intended to belimiting. Except to the extent necessary or inherent in the processesthemselves, no particular order to steps or stages of methods andprocesses described in this disclosure, including the figures, isintended or implied. In many cases the order of process steps may varywithout changing the purpose or effect of the methods described.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the invention are herein described, by way of exampleonly, with reference to the accompanying drawings. With specificreference now to the drawings in detail, it is stressed that theparticulars shown are by way of example and for purposes of illustrativediscussion of several embodiments of the present invention only, and arepresented in order to provide what is believed to be a useful andreadily understood description of the principles and conceptual aspectsof the invention. In this regard, no attempt is made to show structuraldetails of the invention in more detail than is necessary for anunderstanding of the invention, the description taken with the drawingsmaking apparent to those skilled in the art how the several forms of theinvention may be embodied in practice.

In the drawings:

FIG. 1 is a simplified block diagram of a communication networkincluding a CLI configuring device;

FIG. 2 is a simplified block diagram of a CLI configuring device;

FIG. 3 is a simplified illustration of a first scenario implementing CLIconfiguration;

FIG. 4 is a simplified illustration of a CLI allocation table;

FIGS. 5A and 5B taken together are a simplified block diagram of CLIconfiguring process; and

FIGS. 6A and 6B taken together are a simplified flowchart of a callcontrol process including a CLI configuring process.

DETAILED DESCRIPTION

The present embodiments comprise a system, method, and computer programproduct for configuring caller line identification (CLI) according torules. The principles and operation of a system, method, and computerprogram product for CLI configuration according to the variousembodiments presented herein may be better understood with reference tothe following drawings and accompanying description.

Before explaining at least one embodiment in detail, it is to beunderstood that the embodiments is not limited in its application to thedetails of construction and the arrangement of the components set forthin the following description or illustrated in the drawings, and theembodiments may be practiced or carried out in various ways. Also, it isto be understood that the phraseology and terminology employed herein isfor the purpose of description and should not be regarded as limiting.

In this document, an element of a drawing that is not described withinthe scope of the drawing and is labeled with a numeral that has beendescribed in a previous drawing has the same use and description as inthe previous drawings. Similarly, an element that is identified in thetext by a numeral that does not appear in the drawing described by thetext, has the same use and description as in the previous drawings whereit was described.

The drawings in this document may not be to any scale. Different Figs.may use different scales and different scales can be used even withinthe same drawing, for example different scales for different views ofthe same object or different scales for the two adjacent objects.

The CLI enables the caller to identify itself to the called party beforethe called party answers the call. The term CLI herein refers to callerline identification, or calling line identification, also known asCaller ID (CID or CLID), calling number delivery (CND), calling numberidentification (CNID) or calling line identification presentation(CLIP). Typically, CLI is a service provided by the network to thedevice receiving the call. However, the CLI data can be originated bythe calling device.

The CLI service is available in analog and digital telephone systems andin networks using the Internet Protocol (IP) including voice overInternet Protocol (VoIP). Typically, the called device receives the CLIdata during the call setup stage, such as during the ringing signal orperiod. The CLI data may include a string of alphanumeric characters,typically including the telephone number of the calling party, andoptionally other data, such as a name associated with the callingtelephone number.

In other applications, the term CLI may refer to any similar mechanismand/or method used for identifying the caller, a calling device, atelephone number associated with the calling device, or any other typeof identification, etc. The caller, the calling device, and theiridentifying code such as the CLI may be associated with a regular callor session, such as a voice (telephone) call, a multimedia call, a videocall, etc., and/or a message (including but not limited to short messageservice), a store & forwards service, a content or data deliveryservice, etc. The caller is typically a user placing the call, and/or auser initiating the communication session, and/or a user sending amessage, etc.

A CLI receiving device may be integrated in the telephone set orseparated from the telephone set. The CLI receiving device typicallyincludes a phone book, which is a database or a list of telephonenumbers associated with names. Alternatively, the CLI receiving device(or software program) has access to the phone book of the telephone inwhich the CLI receiving device is integrated. Thus, when the CLI isreceived the CLI receiving device (or the telephone set) searches thephone book for the telephone number received in the CLI data. If thetelephone number is found in the phone book, the CLI receiving device(or the telephone set) displays the name associated with the telephonenumber. If the telephone number is not found in the phone book the CLIreceiving device (or the telephone set) displays the received telephonenumber.

The present invention comprises a system, method, and computer programproduct for configuring caller line identification (CLI) according torules, such as:

-   -   According to characteristics associated with the particular        called party.    -   According to characteristics associated with the calling party.    -   According to characteristics associated with a communication        network providing a telephone service to any of the parties to        the call.    -   According to characteristics associated with the particular        call.    -   Any combination thereof.

Characteristics used by rules for configuring CLI to be sent, and forinterpreting CLI received, include, but are not limited to, geographiclocation of the called party, geographic location of the calling party,call history between the particular parties, etc. According to oneembodiment of the present invention the CLI may additionally carry callinformation indicating priority, urgency, subject of the call, etc.

It is appreciated that call history may include various types of call,or sessions, such as voice, multimedia, video, data, content, messaging(including SMS), etc. It is appreciated that call history may refer in adifferent manner to such different types of calls.

It is appreciated that the current location of the calling party (e.g.,the location of the caller device) can be determined in many ways suchas by using a GPS or by detecting the presence of a particular wirelesscommunication network such as a cellular network, a wireless local areanetwork (e.g., Wi-Fi), a wireless personal area network (e.g., a carBluetooth), etc.

Reference is now made to FIG. 1, which is a simplified block diagram ofa communication network 10 including a CLI configuring device 11according to the dialed number, according to one embodiment of thepresent invention.

Communication network 10 may take any form and/or technology, including,but not limited to a telecommunications network, a wireless network, aland-line (telephone, PSTN) network, a mobile telephone network(Cellular, PLMN), a wide area network (WAN) such as the Internet, acable network, a local area network (LAN), a personal area network(PAN), a wireless LAN, PAN, etc., a peer-to-peer network, etc., and anycombination thereof.

As seen in FIG. 1, communication network 10 may include a plurality ofcommunication networks 12, each of which can be any of the network typeand technologies listed above, or a combination thereof. Communicationnetwork 12 may also be named here local network or native network orsimply network 12. Networks 12 interconnect between themselves eitherdirectly or indirectly. As seen in FIG. 1, network 12 designated bynumeral 13 interconnects between the rest of networks 12 and includesthe CLI configuring device 11. However, one or more CLI configuringdevices 11 can be included in any of networks 12.

As seen in FIG. 1, communication network 10 and/or communicationnetworks 12 connect to terminal devices 14. Terminal devices 14 includea CLI receiving device and can be a free-standing CLI receiving device(not-shown) or a terminal including a CLI receiving device such as atelephone 15, a mobile telephone 16, a smartphone 17, a tablet or PDA18, a laptop or notebook computer 19, a desktop computer 20, a computeror a network server 21 (such as a server of a call-center), etc.

It is appreciated that any terminal device 14 may also include a CLIconfiguring device 11, typically as an application, such as a softwareprogram executed by a processor of the terminal device 14. Herein, a CLIconfiguring device 11 included in communication network 10, and/orcommunication networks 12 and/or communication network 13, may be named‘central CLI configuring device 11’, while CLI configuring device 11included in a terminal device 14 may be named ‘local CLI configuringdevice 11’.

Reference is now made to FIG. 2, which is a simplified block diagram ofa CLI configuring device 11 according to one embodiment of the presentinvention.

CLI configuring device 11 is typically a computing facility or deviceexecuting a software program implementing a method for configuring acaller line identification (CLI). The CLI configuring device 11 may beembodied as a computer or a network server in a network 10 or 12, or asan application executed by a processor of a terminal device 14, or acombination thereof.

As seen in FIG. 2, the CLI configuring device 11, in accordance with oneembodiment of the present invention, includes the following components:

At least one processor unit 22 for processing the software programimplementing a method for configuring a caller line identification(CLI).

One or more memory units 23 [e.g., random access memory (RAM), anon-volatile memory such as a Flash memory, etc.] for storing softwareprograms and data.

One or more storage units 24 including, for example, a hard disk driveand/or a removable storage drive, representing a floppy disk drive, amagnetic tape drive, a compact disk drive, etc. The removable storagedrive reads from and/or writes to a removable storage unit in awell-known manner. The storage units 24 are used for storing softwareprograms and data.

One or more communication units 25 for sending and/or receiving CLImessages and/or data.

One or more graphic processors 26 and displays 27 for displaying CLIdata or related data.

One or more communication buses 28 (or any similar means) connecting theabove units.

One or more computer programs 29, or computer control logic algorithms,and/or related data, which may be stored in any of the memory units 23and/or storage units 24. Such computer programs, when executed, enableCLI configuring device 11 to perform various functions (to be set forthbelow, for example). Memory units 23 and/or storage units 24 and/or anyother storage are possible examples of tangible computer-readable media.

As described above, CLI configuring device 11 can be incorporated incommunication network 10 and/or in one or more communication networks12, in one or more interconnecting communication network 13, in one ormore terminal devices 14, etc. CLI configuring device 11 may also takethe form of a software program executed by a processor of a serverwithin communication network 10 and/or in one or more communicationnetworks 12, or as an application executed by a processor of a terminaldevice 14.

It is appreciated that CLI configuring device 11 may be implemented asone or more network servers, as one or more network nodes, or in a cloudcomputing facility. It is appreciated that CLI configuring device 11 maybe implemented as one or more mirroring sites for purposes such asbackup, redundancy, load-sharing, etc.

It is appreciated that the functionality of a CLI configuring device 11as described herein may be implemented in a single CLI configuringdevice 11 or in a plurality of CLI configuring devices 11 workingtogether, or distributed between two or more CLI configuring devices 11.For example, some of the functionality may be embodied and/or executedand/or provided by one or more central CLI configuring devices 11, whileother components of the functionality may be embodied, and/or executedand/or provided by one or more local CLI configuring devices 11.

Reference is now made to FIG. 3, which is a simplified illustration of afirst scenario 30 implementing CLI configuration according to a oneembodiment of the present invention.

According to the scenario of FIG. 3, a user 31 has a plurality ofsubscriber identification modules 32 (SIM cards) issued by respectivecommunication networks 12 designated by numerals 33, 34 and 35,respectively. The SIM cards 32 identify the terminal device 14 of theuser 31 to the respective communication network 12. SIM cards 32 aretypically issued by operator of cellular networks (e.g. PLMN) usingwireless technologies such as GSM, LTE, CDMA, etc.

For example, user 31 travels intensively and therefore obtained SIMcards in several communication networks 12, each operating in adifferent part of the world. For example, User 31 has a SIM card 32 ofAT&T for use in the USA, a SIM card 32 of BT (British Telecom) for usein Britain, a SIM card 32 of FT (France Telecom) for use in France. User31 switches the SIM card 32 in the terminal device 14 according to thecurrent location to use the local communication network 12.

It is appreciated that the use of a SIM card is an example for a method(or device) for associating a particular terminal device 14 with aparticular communication network 12 and that any other method or devicefor associating a particular terminal device 14 with a particularcommunication network 12 is contemplated. For example, using thedirectory number of a regular land-line telephone as provided by thelocal switch (CO).

According to scenario 30 user 31 also subscribes to communicationnetwork 12 designated by numeral 13, which includes CLI configuringdevice 11. CLI configuring device 11 of communication network 13maintains a list, or a database, of the SIM cards 32, and/or telephonenumbers (directory numbers) of user 31 in the respective communicationnetworks 12.

In the example of scenario 30 communication network 13 enables the userto upload her phone book from terminal device 14 to the database of CLIconfiguring device 11 and then select for each phonebook entry (calledentity) a network 12, or the SIM card of a network 12, or the telephonenumber associated with the SIM card of a network 12, (or a telephonenumber associated with a land-line), etc.

It is appreciated that communication network 13 is typically a low-costinternational carrier. In this respect communication network 13 providesthe calling user (user 31) a method of communication with the calledparty (user 39) that is less costly than, for example, by network 33connecting directly with the called party network 12) designated bynumeral 36). To make use of communication network 13 user 31 may executeany of the following access methods:

Call an access number of communication network 13 in network 33 and thendial the destination number (the telephone number of the terminal device14 of user 39). The destination number is typically sent tocommunication network 13 as a series of dual-tone multi-frequency (DTMF)digits.

Invoke a callback session, for example by calling an access number ofcommunication network 13 in network 33 and disconnecting the call beforeor after it is answered. After receiving the callback call user 31 dialsthe destination number.

Send a data or text message to communication network 13, for whichcommunication network 13 responds by calling user 31. This data or textmessage can take the form of a short message service (SMS), anunstructured supplementary service data (USSD), a message sent over anIP channel, etc. The data or text message typically include thetelephone number of the calling party. After receiving the callback calluser 31 dials the destination number. Alternatively, user 31 enters thedestination number into the data or text message.

Use a software program in the terminal device 14 (client application) toinitiate the call, typically executing any of the above examples orvariations thereof. Typically, user 31 uses the client application tosend the destination number to communication network 13.

Access communication network 13 via a data network such as the Internet.The data network can be any network such as land-line connection (e.g.Ethernet), wireless Internet connection (e.g. WiFi), cellular Internetconnection, etc. Typically, user 31 then sends the destination number tocommunication network 13 using.

It is appreciated that communication network 13 may receive thedestination number from network 33 or directly from user 31 using anaccess method such as listed above.

For example, as seen in FIG. 3, communication network 13 presents on thedisplay of the terminal device 14 of user 31 a screen display 37enabling the selection of a network for each phonebook entry.Alternatively, an application (e.g. a software program) operating interminal device 14 collects these selections of user 31. The applicationin terminal device 14 can maintain the list, or database, of userselections (associating phonebook entries with SIM cards, or networks,or telephone numbers of user 31 internally in a list, table, or databasewhich is part of the application, or upload it to the CLI configuringdevice 11 in communication network 13.

The methods described above may be applicable to various types ofstreaming media communication such as voice (regular telephone call),video, multimedia, etc. The methods described above may additionally beapplicable to various types of messaging, store-and-forward, and similartypes of communication such as communication types not requiringstreaming media or continuous communication. Messaging andstore-and-forward communication may include voice messages, textmessages including short message service (SMS), and instant messaging,messages or other types of content including images and graphics, videomessaging, multimedia messaging, etc. Therefore, the term CLIconfiguration may refer to any type of identification code used toidentify the caller device (or the calling user) to the called device(or the called user).

Messaging services such as SMS may generate an identification code atthe caller (or calling) device. The identification code may be a part ofthe message, or message header. Accordingly, a CLI configuring device 11may reconfigure the identification code of a message or a similarcontent delivered from a calling (caller) device to a called device in anumber of ways as disclosed below.

For example, a user may select an identification code from a pluralityof available identification codes to be embedded in the message, or themessage header. A user may use the messaging client software to make theselection of the identification code.

Alternatively, the user may use an application software program (otherthan the client messaging software) performing as a local CLIconfiguring device 11 to select the identification code and embed it inthe message, or the message header.

Alternatively, the user may use the application software program (suchas the local CLI configuring device 11) to select the identificationcode and instruct a central CLI configuring device 11 residing incommunication network 13 to replace the identification code provided bythe client messaging software with the selected identification code.

The local CLI configuring device 11 may send the instruction to thecentral CLI configuring device 11 via a communication channel that isdifferent from the communication channel used by the client messagingsoftware to send the message, for example, to make sure that the centralCLI configuring device 11 receives the instruction in time (e.g. beforethe message is forwarded).

For example, an SMS message may carry a default caller identificationcode as a part of the SMS message, usually within the SMS messageheader. The SMS is sent to the communication network 10 (operating theCLI configuring device 11) to be forwarded to the called device. At thesame time, the local CLI configuring device 11 (embedded in the callerdevice) sends to the communication network 10 (operating the CLIconfiguring device 11) a different and preferred caller identificationcode via another communication channel, such as the IP channel. The CLIconfiguring device 11 of the communication network 10 then replaces thecaller identification code embedded in the SMS message header with thepreferred caller identification code received via the IP channel. Thenthe communication network 10 forwards the SMS message (with thepreferred caller identification code in its message header) to thecalled device.

The user may provide the central CLI configuring device with the set ofplurality of identification codes and one or more rules for selecting anappropriate identification codes (as disclosed below) so that thecentral CLI configuring device may automatically determine a suitableidentification code and replace the identification code provided by theclient messaging software with the selected identification code.

The user may provide the central CLI configuring device with the set ofplurality of identification codes and one or more rules for selecting anappropriate identification codes using a mobile application (e.g. asoftware program downloaded to the caller device) or by directlyaccessing the central CLI configuring device.

It is appreciated that the various methods described above, using acentral CLI configuring device 11 and/or a local CLI configuring device11 to determine, set and/or replace the identification code of thecaller device, are not mutually exclusive and can be used togetherand/or in various combinations.

For example, the user may set the central CLI configuring device 11 todetermine the identification code and still use the local CLIconfiguring device 11 to set a particular identification code in aparticular situation. In such case, for example, the local CLIconfiguring device 11 may send to the central CLI configuring device 11an instruction not to replace the identification code set by the localCLI configuring device 11. This instruction may be sent as a part of themessage (or the message header, for example as a code hidden within theidentification code. Alternatively, the instruction may be sent via adifferent channel directly to the central CLI configuring device 11.

It is appreciated that when the central CLI configuring device 11 isprovided by a communication network 12 performing as an interconnecting(intermediating) communication network 12 such as communication network13 of FIG. 3 the instruction sent from the local CLI configuring device11 to the central CLI configuring device 11 (in any mode of operationsuch as streaming, messaging, etc.) may be sent via a communicationchannel bypassing the communication network 12 directly serving thecaller device.

Reference is now made to FIG. 4, which is a simplified illustration of aCLI allocation table 38 according to one embodiment of the presentinvention.

CLI allocation table 38 represents an example of the CLI conversiondatabase maintained by the CLI configuring device 11 (whetherimplemented within communication network 13 or within an applicationexecuted by terminal device 14). As seen in FIG. 4, CLI allocation table38 lists the following entries:

-   -   Names of called entities (in the column titled NAMES).    -   A telephone number (directory number) for each called entity (in        the column titled TELEPHONE)    -   CLI data to be used for each called entity (in the column titled        CLI).    -   CLI Identification name of the CLI, typically by indicating the        name of network 12 that has issued the SIM card associated with        the CLI (in the column titled NETWORK).

The CLI identification name is provided to help the user to select theCLI to be used for the particular dialed entity. The user may replacethe CLI identification name with any other useful name, for example incase the user's directory number (i.e. the CLI) is ported to anotheroperator.

For the purpose of scenario 30, CLI allocation table 38 belongs to (orassociated with) user 31. Returning to FIG. 3 and scenario 30, user 31now dials to a second user designated by numeral 39, using the SIM card32 of communication network 33, which, for the example of scenario 30,is AT&T. User 31 is Sarah as indicated in CLI allocation table 38. Thecall is transferred to communication network 13 indicating the dialednumber, which according to this example is +44-131-243-0661. Incommunication network 13 the CLI configuring device 11 uses the dialednumber (+44-131-243-0661) to locate the record for Sarah, and thenreplaces the CLI received from AT&T with the CLI as indicated by therecord for Sarah (in this example the new CLI would be 7-014-223-846).Communication network 13 then forwards the call to the destinationcommunication network 12 (to which Sarah subscribes) with the new CLI(7-014-223-846). Thus, the CLI configuring device 11 has configured theCLI to a characteristic of the called party (e.g. according to thedialed number). In this respect the characteristic of the called partyis set by the calling user.

In scenario 30 the CLI is configured according to the network 12 ofpreference of the called party. For example, the network of preferenceis a network 12 operating in the locality of the called party (user 39).Proving the called party (user 39) a local number for return call mayencourage the user to call the calling party.

In a second scenario, the calling party (user 31) instructs the CLIconfiguring device 11 to use the AT&T CLI as the default CLIindependently of the SIM card used. In this scenario, user 31 travelledfrom the USA to the United Kingdom and is now using a SIM card of a UKcommunication network 12 to dial a telephone number of user 39 locatedin France and using a telephone number of a French communication network12.

The call is forwarded by the UK network 12 to communication network 13in which CLI configuring device 11 interrogates the database for user 31and accordingly replaces the CLI provided by the UK operator with theCLI provided by AT&T. Communication network 13 then forwards the call tothe French network 12. The telephone (terminal devices 14) of user 39now interrogates its phonebook and if the CLI matches a telephone numberthen the telephone of user 39 displays the name of user 31 as associatedwith the CLI.

In this case of the second scenario, the CLI configuring device 11always uses the same (default) CLI, irrespective of the SIM card used bythe calling user (user 31). Thus, the called party can recognize thecaller irrespective of the SIM card used. Thus, the CLI configuringdevice 11 configures the CLI to a characteristic of the calling party.In this respect the characteristic of the calling party is determinedautomatically by the CLI configuring device 11 according to the callinghistory of user 31.

Continuing with the second scenario, the called party (user 39) nowreturns a call to user 31 by using the received CLI (the AT&T number).The call is transferred to communication network 13 that recognizes thatfor the particular user (user 31) the AT&T number is a default number.Communication network 13 therefore scans its database (call history) andforwards the call to the UK network 12. For example, the UK network 12is selected because it is the telephone number associated with a latestcall made or received by user 31. It is noted that communication network13 identifies and forwards the call to the called person (user 31)rather than to the called number (the AT&T number).

It is appreciated that the calling user can set different default CLIsto different called parties. In this the second scenario uses a CLIallocation table that looks like CLI allocation table 38 of the firstscenario (scenario 30) except that the CLI is based on a combination ofcharacteristics of the calling party and the called party.

In a third scenario, user 31 is traveling between countries, using localSIM cards to call local people. Consequently, each called party knowsthe local number (or local SIM card) of user 31. In this respect, when acall from user 31 is received, the telephone (terminal devices 14) ofthe called user recognizes the CLI associated with the local SIM cardand display the name of user 31. Therefore, when calling a user 39,irrespective of the SIM card used, the CLI configuring device 11replaces the CLI with the CLI as known be the called party (user 39).For the purpose of the third scenario, CLI configuring device 11maintains for each calling user (user 31) a list (such as CLI allocationtable 38) in which for each called party (e.g. user 39) CLI configuringdevice 11 records the CLI of preference. For example, CLI configuringdevice 11 records the first CLI presented to the particular calledparty. Thus, the CLI configuring device 11 configures the CLI to acharacteristic of the called party (e.g. according to the dialednumber). In this respect the characteristic of the called party isdetermined automatically by the CLI configuring device 11 according tothe calling history of user 31.

In a fourth scenario the called number is not known to CLI configuringdevice 11. That is, CLI allocation table 38 has no entry for the dialednumber. However, CLI configuring device 11 includes a rule by which theCLI should be configured according to a characteristic of the callednumber. In this respect, the characteristic is a geographical location,a country code, an area code, a prefix code identifying a communicationnetwork 12, a network functional range, etc. The rule (similar to CLIallocation table 38) defines a CLI to be used automatically when thecalled number is characterized as detailed above. The CLI configuringdevice 11 configures the CLI according to the characteristic of thecalled party, e.g. according to the characteristic of the dialed number.In this respect the characteristic of the called party is determinedautomatically by the CLI configuring device 11 according to a table ofdialed number prefixes (e.g. a country code, an area code, a prefix codeidentifying a communication network 12, etc.).

In a fifth scenario, the calling party (user 31) is not using any of herSIM cards 32. For example, user 31 is travelling in a country where shedoes not have a SIM card of a local communication networks 12 andtherefore uses a local telephone such as a telephone in a hotel room ora payphone. For example, user 31 dials a local access number ofcommunication network 13 (as a call forwarding service, call-backservice, VoIP service, etc.) and then dials the number of the calledparty. The CLI configuring device 11 of communication network 13configures the CLI sent to the terminal devices 14 of the called partyaccording to any of the characteristics indicated in the previousscenarios. For example, according to the characteristics of the calledparty as set by user 31, according to the locality of the called party,according to a default CLI as set by user 31, according to the telephonenumber (SIM card) of user 31 that is known to the called party, etc.

In a sixth scenario user 31 has a private access number in country A. Acalling party, such as user 39, residing or travelling in country Acalls user 31 by dialing the private access number at the cost of alocal call. The call is received by the communication network 12 ofcountry A, then transferred by communication network 12 of country A tocommunication network 13, which then transfers the call to thecommunication network 12 currently servicing user 31 in country B. TheCLI configuring device 11 of communication network 13 records thedetails of this call including the dialed number (being the accessnumber). User 31 may receive the call or, if unavailable, user 39 mayleave a message such as a voice message or a text message (e.g. SMS).The terminal devices 14 now has the CLI of user 39.

Thereafter, user 31 returns the call of user 39 by dialing the CLI ofuser 39. The call is transferred to communication network 13 in whichCLI configuring device 11 configures the CLI of user 31 sent to theterminal devices 14 of user 39 according to the access number used byuser 39. Therefore, CLI configuring device 11 configures the CLIaccording to a characteristic of the called party, the characteristics,for example, being the number dialed (DNIS) by the called party in aprevious call made by the called party to the calling party.

In a seventh scenario user 31 calls user 39 in country B wherecommunication network 13 has an access number. CLI configuring device 11configures the CLI of user 31 sent to the terminal device 14 of user 39by appending the access number of communication network 13 in country Bwith the telephone number of user 31. Thereafter, when user 39 wishes tocall user 31 user 39 may recall the CLI from the memory of his terminaldevice 14 which then dials the access number of communication network 13in country B followed by the telephone number of user 31

It is appreciated that combining the access number of communicationnetwork 13 in country B with the telephone number of user 31 can takeplace in a CLI configuring device 11 of communication network 13 (whenthe call reaches communication network 13 (using any of the accessmethods described above). Alternatively combining the access number ofcommunication network 13 in country B with the telephone number of user31 can take place in a CLI configuring device 11 being a part of aclient software of terminal device 14 of the calling party (user 31).

Reference is now made to FIG. 5A and FIG. 5B, which taken together are asimplified flow-chart of CLI configuring process 40, according to oneembodiment of the present invention. It is appreciated that CLIconfiguring process 40 can be executed by processor unit 22 of CLIconfiguring device 11.

As seen in FIGS. 5A and 5B, CLI configuring process 40 may start byreceiving a communication. The communication may be in any form such asa telephone call (including voice, multimedia, video, SMS, etc.) and/ordata communication (e.g., using Internet protocol). These two forms ofcommunication may be received via the same communication channel or viadifferent communication channels. Additionally, these two forms ofcommunication may be received by the same module of the CLI configuringdevice 11, or by different modules. In step 41 CLI configuring process40 may determine the type of the communication.

For example, CLI configuring process 40 may determine if thecommunication is of a data type or a call type. A data communication maybe received over a data network such as an Internet protocol channel(IP). A call type communication may be received over a telephony channel(e.g., a telephony network such as PSTN, PLMN, cellular network, GSM,LTE, etc.).

If the communication is a data communication it may be received from aweb server or from a mobile application executed by a mobile device suchas a smartphone. Such data communication may contain informationpertinent to CLI reconfiguration and particularly to the CLI allocationtable 38. Such communication data may contain a new entry (cell, record)of CLI allocation table 38, or a modification of an existing entry, or aselection of an entry for a particular call. For example, a currentlyactive call or a call about to be made.

For example, the data communication may carry a caller identificationcode provided by a CLI configuring device 11 embedded in the callerdevice instructing the central CLI configuring device 11 operative inthe communication network 10 to reconfigure the caller identificationcode of a message being currently sent via the communication network 10to a called device. Such message may be, for example, an SMS messagearriving at the communication network 10 via a different channel, namelythe telephony channel.

In such case the data communication processed by CLI configuring process40 may include the telephone number or a similar identification of thecalling device as currently used, the selected caller identificationcode, and an identification, such as a telephone number, of thedestination device (the called device). The data communication may alsoinclude data for identifying a particular message. The datacommunication may also include data regarding one or more conditions bywhich the selected caller identification code should be used.

If the communication received is of the data type as described above CLIconfiguring process 40 may proceed to step 42 to enter the data into theCLI allocation table 38 or any other form of memory available forretrieval at a later step.

If the communication received is of the call type CLI configuringprocess 40 may proceed to step 43. The call communication received maybe, for example, a request to make a call, received, for example, by CLIconfiguring device 11 of a communication network 12 such ascommunication network 13. The call request may include a destinationnumber for the called party. Alternatively, or additionally, the callrequest may include a request to forward a message, such as an SMSmessage.

Configuring process 40 may then proceed to step 44 to search the calledparty in a lookup table (or list or database) such as CLI allocationtable 38 of Fig, 4. Typically, Configuring process 40 may search thecalled party according to the destination number received in step 43. Ifthe destination number is found in the lookup table (step 45) thenconfiguring process 40 may proceed to step 46 to forward the call withthe CLI allocated to the called party in the lookup table.

If the lookup table does not store the called (destination) number or anallocated CLI then configuring process 40 may proceed to step 47 tolookup the call history lookup table (or list, or database) for thecalled party. For example, if a call has been received from the calledparty to any particular telephone number (e.g. another SIM card) of thecalling user. If the destination number is found in the call historylookup table (step 48) then configuring process 40 may proceed to step49 to forward the call with the CLI derived from the call history lookuptable. For example, the CLI for the number dialed by the called party inthe last call received from the called party.

If the call history lookup table does not store the called (destination)number or an allocated CLI then configuring process 40 may proceed tostep 50 to lookup the prefix lookup table (or list or database) for thecalled party. For example, if the telephone number to be dialed beginswith a string of digits matching a prefix in the prefix lookup tablesuch as a country code or an area code. If a prefix is found in the callhistory lookup table (step 51) then configuring process 40 may proceedto step 52 to forward the call to the destination (called) number withthe CLI derived from the prefix lookup table. For example, the CLIassociated with a SIM card issued by a network 12 serving, orgeographically co-located with, the destination (called) telephonenumber.

If the prefix lookup table does not store a CLI applicable to the called(destination) number then configuring process 40 may proceed to step 53to obtain information from an external sources as determined by the userby setting applicable rules. For example, information regarding a mutualinterest or a social connection. If such external information is found(step 54) then configuring process 40 may proceed to step 55 to computea CLI according to the external information and applicable rules thatthe user has set up in advance. Configuring process 40 then uses thisCLI when forwarding the call to the destination (called) number (step56).

If configuring process 40 does not find a relevant external informationit may proceed to step 57 to enter the destination (called) number intothe CLI lookup table with the current (or default) CLI. Configuringprocess 40 may then proceed to step 58 to interrogate the user whetherthe user wishes manipulate the CLI. Typically step 58 offers the userCLI manipulation options such as:

-   -   Setting a CLI, for example, if no CLI is determined,    -   Amending the CLI, for example, by setting a priority or an        urgency flag, etc.    -   Replacing the CLI with a different CLI such as a CLI of a        different SIM card, typically be selecting such CLI from a table        similar to CLI allocation table 38.

If a user entry is received (step 59) then the user selection is enteredas the CLI to be used (step 60). Configuring process 40 may then proceedto step 61 to forward the call to the called party with the selectedCLI.

It is appreciated that any of steps 46, 49 52, and 56 may includesub-steps for interrogating the calling user such as steps 58 to 61. Forexample, CLI configuring device 11 may compute any number or selectionof possible CLI values such as the CLI values composed in the scenariosdetailed above, and then present these CLI values to the user, enablingthe user to select a CLI to be sent to the called terminal device.

It is appreciated that interrogating a user may be embodies as part ofthe called-party terminal devices 14 (e.g. a local CLI configuringdevice 11), or by CLI configuring device 11 within communication network13 (e.g. a center CLI configuring device 11), or any combinationthereof.

It is appreciated that the order of CLI selections as described withreference to FIG. 5 is arbitrary.

It is appreciated that a CLI can be selected as described with referenceto FIG. 5 to invoke a particular ringing signal (such as a ring tone) inthe destination (called) terminal devices 14.

As described above, CLI configuring device 11 configures a CLI forsending to the called party terminal device 14 using one or more of thefollowing methods:

-   -   By selecting a CLI from a table such as CLI allocation table 38.    -   According to one or more rules.    -   By enabling the calling party to select a CLI    -   Any combination thereof.

CLI configuring device 11 configures a CLI for sending to the calledparty terminal device 14 using any of the following characteristics:

Using a network of preference as predetermined by the calling party forthe particular called party (first scenario). The network of preferenceis typically a network to which the calling user subscribes or has a SIMcard issued by the network or otherwise has a telephone number of thatnetwork. This characteristic is an example of table-based called partycharacteristic.

Using a default (base) network as predetermined by the calling party,with an option to define a different default network for differentcalled party (second scenario). The default network is typically anetwork to which the calling user subscribes or has a SIM card issued bythe network or otherwise has a telephone number of that network. Thischaracteristic is an example of table-based calling partycharacteristic, or a combination of calling and called partycharacteristics.

Using the call history with the particular called party. Typically byselecting a CLI associated with the first or the last network from whicha call was made to the particular called party. (Third scenario). Thecalling user subscribes or has a SIM card issued by the selected networkor otherwise has a telephone number of that network. This characteristicis an example of a rule-based CLI selection that can thereafter bemaintained in a CLI allocation table.

According to the location of the called party or prefix of the dialednumber (fourth scenario). The calling user subscribes or has a SIM cardissued by the selected network or otherwise has a telephone number ofthat network. This characteristic is an example of a rule-based CLIselection that can thereafter be maintained in a CLI allocation table.

All or any of the above when using a random telephone line, mobiletelephone, or internet connection instead of a personal telephone or SIMcard (fifth scenario).

According to a private access number of the calling party that has beenused by the called part in a previous call (sixth scenario). Thischaracteristic is an example of a rule-based CLI selection, using calledparty characteristics, which may thereafter be maintained in a CLIallocation table.

Using a network access number effective in the called party's county orarea, as provided by the calling party (seventh scenario). Typically byappending the network access number in front of the CLI of the callingparty. The CLI of the calling party may be selected according to any ofthe previous scenarios. This characteristic is an example of arule-based CLI selection, using called party characteristics, which maythereafter be maintained in a CLI allocation table.

Reference is now made to FIG. 6A and 6B, taken together are a,simplified flowchart of a call control process 62 according to oneembodiment of the present invention.

In an eighth scenario, the calling party (user 31) uses a terminaldevice 14 such as a smartphone with a call control application. The callcontrol may be an application, or client software, which is a softwareprogram loaded into the terminal devices 14 and executed by a processorof the terminal devices 14. The call control includes a CLIconfiguration software such as the software of CLI configuring device11. This scenario is an example of a CLI configuration process that ishandled partly by an application executed in the called-party terminaldevices 14 (e.g. a local CLI configuring device 11), and partly by CLIconfiguring device 11 within communication network 13 (e.g. a center CLIconfiguring device 11).

In the eighth scenario, the calling party (user 31) may use the callcontrol application to connect to communication network 13 using any ofthe access methods described above. For example, as shown in FIG. 6, thecall control application executes the following steps:

In step 63 of call control process 62 typically receives a destinationtelephone number from user 31. The call control application may thenproceed to step 64 to analyze the called number (or party), to lookupexternal information resources, and to compute a CLI (step 65).Analyzing the called number may be according to any of the scenariosdescribed above. External resources may include information provided bythe terminal device 14 such as local coordinates provided by a locationdevice such as a Global Positioning System (GPS), ambient temperature,motion parameters, etc. The external data, such as data received fromexternal sources or external resources may include any type ofbiological or biometric data such as heart bitrate, skin conductivity,ECG, body temperature, blood pressure, glucose level, etc. The CLI maybe associated, in the called device, with an emergency ringtone oranother type of emergency notification. The CLI may therefore include atelephone number followed by external data as described above.

The call control application may then proceed to step 66 to display touser 31 one or more of the computed CLIs, enabling user 31 to confirmthe computed CLI, and/or select a CLI, and/or enter a CLI.

The call control application may then proceed to step 67 to connect tocommunication network 13 according to the type of call (step 68). Theremay be any number of types of call, of which FIG. 6 shows threeexamples:

A ‘session” type call (designated by the letter ‘B’) refers, forexample, to a regular telephone call, a streaming session which mayinclude voice, video, multimedia, etc., including conferencing,.

An ‘SMS” type call (designated by the letter ‘C’) refers to shortmessaging service (SMS) and any similar messaging and/or store andforward of any type of content using telephony communication technologysuch as PSTN, PLMN, GSM. LTE, etc.

An ‘IP” type call (designated by the letter ‘D’) refers to communicatingany type of data and/or content and/or message, including text, image,video, multimedia, etc., using any data communication network such asInternet protocol (IP). For example any communication channel that isdifferent from the communication channel used for the ‘session’ and‘SMS’ call types.

If the call is a ‘session’ type call, call control process 62 may dial atelephone number of the destination device and proceed to step 69 towait until it detects communication network 13 answering the call (forexample by detecting a DTMF string).

The call control application may then proceed to step 70 to identify thecaller to communication network 13. The identification is typicallyexecuted by sending identification data such as user ID and/or password,for example as a string of DTMF signals. If the identification isconfirmed (step 71) the call is disconnected (step 72) and communicationnetwork 13 then dials back to the called-party terminal device 14. It isappreciated that this process creating a callback session is but anexample of one possible access method and other processes arecontemplated. For example, any of the access method described above.

The call control application may then proceed to step 73 to wait for acallback call from communication network 13. When the call is receivedcall control application sends to communication network 13 thedestination number (e.g. the telephone number of user 39) and the CLI(step 74) to be sent to the called-party terminal devices 14. The callcontrol application then connect the caller (step 75).

As seen in FIG. 6B, if in step 68 the call type is SMS or a similar typeof call, the call control application may then proceed to step 76 tosend the identification of the called device (e.g., the destinationnumber) and the selected caller identification code (e.g., the selectedCLI) to the central CLI configuring device 11 within communicationnetwork 13 via a secondary channel. The secondary channel may be anychannel different from the primary channel. The primary channel may beany channel used to send the SMS or the message or content of the SMScall type. The primary channel may be PSTN, PLMN, LTE, etc. Thesecondary channel may be a data communication channel such as usingInternet Protocol (IP).

When the call control application receives confirmation from the centralCLI configuring device 11 (step 77) the call control application mayproceed to step 78 to create and send the SMS (or any similar content).

If in step 68 the call type is IP or a similar type of call, the callcontrol application may proceed to step 79 to send the identification ofthe called device (e.g., the destination number) and the selected calleridentification code (e.g., the selected CLI) to the central CLIconfiguring device 11 within communication network 13 via a secondarychannel.

When the call control application receives confirmation from the centralCLI configuring device 11 (step 80) the call control application mayproceed to step 81 to create and send the data or content to thedestination device via the CLI configuring device 11 acting as a proxy.

It is appreciated that certain features of the invention, which are,described in the context of different embodiments, may also be providedin combination in a single embodiment. Conversely, various features ofthe invention, which are, for brevity, described in the context of asingle embodiment, may also be provided separately or in any suitablesub-combination.

Although the invention has been described in conjunction with specificembodiments thereof, it is evident that many alternatives, modificationsand variations will be apparent to those skilled in the art.Accordingly, it is intended to embrace all such alternatives,modifications and variations that fall within the spirit and broad scopeof the appended claims. In addition, citation or identification of anyreference in this application shall not be construed as an admissionthat such reference is available as prior art to the present invention.

What is claimed is:
 1. A method comprising: obtaining a plurality ofcaller identification codes of caller device operating in a firstcommunication network; selecting a caller identification code from saidplurality of caller identification codes according to saidcharacteristic; and forwarding said selected caller identification codeto at least one of: another communication network; and said calleddevice; wherein each said caller identification code of said pluralityof caller identification codes of said caller device identifies saidcaller device in a second communication network of a respectiveplurality of communication networks.
 2. A method comprising: using acaller device connected to a first communication network to call acalled device, wherein said called device receives a first calleridentification code identifying said caller device in said firstcommunication network; using said caller device connected to a secondcommunication network to call said called device; forwarding said firstcaller identification code to at least one of: said called device; athird communication network communicatively coupled to said calleddevice.
 3. The method according to claim 2 wherein said first calleridentification code is associated with a first SIM card associated withsaid first communication network and wherein said step of forwardingsaid first caller identification code is executed while said callerdevice uses a second SIM card associated with said second communicationnetwork.
 4. The method according to claim 1 wherein said step offorwarding said selected caller identification code is performed by atleast one of: said caller device; a communication device operating in acommunication network directly serving said caller device; acommunication device operating in a communication network directlyserving said called device; and a communication device operating in acommunication network interconnecting between a communication networkdirectly serving said caller device and a communication network directlyserving said called device.
 5. The method according to claim 1 whereinsaid caller identification code identifies said called device in atleast one of: a voice call, a video call, a multimedia call, a textmessage, and a message of a short message service (SMS).
 6. The methodaccording to claim 1 wherein said characteristic includes at least oneof: a user selection of a default identification code irrespective ofthe current identification code of the caller device; currentgeographical location of at least one of said caller device and calleddevice; a communication network associated with said called device; anidentification code associated with said called device; anidentification code previously sent to said called device; anidentification code associated with a telephone number previously usedby said called device; a characteristic of a number dialed for saidcalled party; and a user selection of any of the above.
 7. The methodaccording to claim 6 wherein said characteristic of a number dialedcomprises a prefix of said number dialed.
 8. The method according toclaim 7 wherein said prefix is associated with at least one of acommunication network, a geographical location, a network functionalrange, and an organization.
 9. The method according to claim 1 whereinsaid identification code comprises a network access number and a privatetelephone number.
 10. The method according to claim 1 wherein said stepof selecting a caller identification code from said plurality of calleridentification codes is performed in said caller device and said step offorwarding said selected caller identification code is performed by acommunication device connecting said caller device with said calleddevice.
 11. The method according to claim 1 wherein said plurality ofcaller identification codes is stored in said caller device, and whereinsaid step of selecting a caller identification code from said pluralityof caller identification codes is performed by a software programoperating in said caller device.
 12. The method according to claim 1wherein said step of selecting a caller identification code from saidplurality of caller identification codes forms a selection, andadditionally comprising a step of: forwarding said selection from saidcaller device to said communication device connecting said caller devicewith said called device.
 13. The method according to claim 1 whereinsaid step of forwarding said selection from said caller device to saidcommunication device connecting said caller device with said calleddevice is performed in a communication channel that is different fromthe communication channel used for connecting said caller device withsaid called device.
 14. The method according to claim 1 additionallycomprising: sending content to said called device; wherein said step offorwarding said selection from said caller device to said communicationdevice connecting said caller device with said called device isperformed in a communication channel that is different from thecommunication channel used to send said content from said caller deviceto said called device.
 15. The method according to claim 14 wherein saidcontent is at least one of a text message, an SMS message, a multimediamessage, an image message, and a video message.
 16. A computer programproduct embodied on a non-transitory computer readable medium, saidcomputer program product comprising: a module for obtaining a pluralityof caller identification codes for a caller device, wherein each of saidcaller identification codes identifies said caller device in a network;a module for obtaining at least one rule for selecting a calleridentification code from said plurality of caller identification codesaccording to a characteristic of at least one of said caller device, acalled device, and a parameter obtained from an external source; amodule for obtaining said characteristic; a module for selecting acaller identification code from said plurality of caller identificationcodes according to said characteristic ; and a module for forwardingsaid selected caller identification code to at least one of: anothercommunication network; and said called device.
 17. The computer programproduct according to claim 16 wherein said characteristic includes atleast one of: a user selection of a default identification codeirrespective of the current identification code of the caller device;current geographical location of at least one of said caller device andcalled device; a communication network associated with said calleddevice; an identification code associated with said called device; anidentification code previously sent to said called device; anidentification code associated with a telephone number previously usedby said called device; a characteristic of a number dialed for saidcalled party; a user selection of any of the above.
 18. The computerprogram product according to claim 17 wherein said characteristic of anumber dialed comprises a prefix of said number dialed.
 19. The computerprogram product according to claim 18 wherein said prefix is associatedwith at least one of a communication network, a geographical location, anetwork functional range, and an organization.
 20. The computer programproduct according to claim 16 wherein said identification code comprisesa network access number and a private telephone number.
 21. A device forconfiguring CLI, said device being part of a communication network; saiddevice comprising: a module for obtaining a plurality of calleridentification codes for a caller device, wherein each of said calleridentification codes identifies said caller device in a network; amodule for obtaining at least one rule for selecting a calleridentification code from said plurality of caller identification codesaccording to a characteristic of at least one of said caller device, acalled device, and a parameter obtained from an external source; amodule for obtaining said characteristic; a module for selecting acaller identification code from said plurality of caller identificationcodes according to said characteristic; and a module for forwarding saidselected caller identification code to at least one of: anothercommunication network; and said called device.
 22. A device forconfiguring CLI, said device being part of a caller device in acommunication network; said device comprising: a module for obtaining aplurality of caller identification codes for said caller device, whereineach of said caller identification codes identifies said caller devicein a network; a module for obtaining at least one rule for selecting acaller identification code from said plurality of caller identificationcodes according to a characteristic of at least one of said callerdevice, a called device, and a parameter obtained from an externalsource; a module for obtaining said characteristic; a module forselecting a caller identification code from said plurality of calleridentification codes according to said characteristic ; and a module forforwarding said selected caller identification code to at least one of:another communication network; and said called device.
 23. The deviceaccording to any of claims 21 and 22 wherein said characteristicincludes at least one of: a user selection of a default identificationcode irrespective of the current identification code of the callerdevice; current geographical location of at least one of said callerdevice and called device; a communication network associated with saidcalled device; an identification code associated with said calleddevice; an identification code previously sent to said called device; anidentification code associated with a telephone number previously usedby said called device; a characteristic of a number dialed for saidcalled party; a user selection of any of the above.
 24. The deviceaccording to claim 23 wherein said characteristic of a number dialedcomprises a prefix of said number dialed.
 25. The device according toclaim 24 wherein said prefix is associated with at least one of acommunication network, a geographical location, a network functionalrange, and an organization.
 26. The device according to any of claims 21and 22 wherein said identification code comprises a network accessnumber and a private telephone number.
 27. A method for identifying acalling party to a called party in an integrated communication network,wherein said integrated communication network includes a plurality ofnative communication networks, wherein said calling party subscribes toat least two native communication networks, the method comprising:obtaining a plurality of caller identification codes for said callingparty, wherein each of said caller identification codes identifies saidcalling party in one of said native communication network; obtaining atleast one rule for selecting a caller identification code from saidplurality of caller identification codes according to a characteristicof at least one of said calling party, a called party, and a parameterobtained from an external source; obtaining said characteristic;selecting a caller identification code from said plurality of calleridentification codes according to said characteristic; and forwardingsaid selected caller identification code to at least one of: a nativecommunication network; and said called party.
 28. The method accordingto claim 27 wherein said characteristic includes at least one of: a userselection of a default identification code irrespective of the currentidentification code of the caller device; current geographical locationof at least one of said caller device and called device; a communicationnetwork associated with said called device; an identification codeassociated with said called device; an identification code previouslysent to said called device; an identification code associated with atelephone number previously used by said called device; a characteristicof a number dialed for said called party; a user selection of any of theabove.
 29. The method according to claim 28 wherein said characteristicof a number dialed comprises a prefix of said number dialed.
 30. Themethod according to claim 29 wherein said prefix is associated with atleast one of a communication network, a geographical location, a networkfunctional range, and an organization.
 31. The method according to claim27 wherein said identification code comprises a network access numberand a private telephone number.
 32. A computer program product embodiedon a non-transitory computer readable medium, said computer programbeing operative to identify a calling party to a called party in anintegrated communication network, wherein said integrated communicationnetwork includes a plurality of native communication networks, whereinsaid calling party subscribes to at least two native communicationnetworks, said computer program product comprising: a module forobtaining a plurality of caller identification codes for a callingparty, wherein each of said caller identification codes identifies saidcalling party in one of said native communication network; a module forobtaining at least one rule for selecting a caller identification codefrom said plurality of caller identification codes according to acharacteristic of at least one of said calling party, a called party,and a parameter obtained from an external source; a module for obtainingsaid characteristic; a module for selecting a caller identification codefrom said plurality of caller identification codes according to said;and a module for forwarding said selected caller identification code toat least one of: a native communication network; and said called party.33. A device for configuring CLI, said device being part of acommunication network in an integrated communication network, saiddevice being operative to identify a calling party to a called party insaid integrated communication network, wherein said integratedcommunication network includes a plurality of native communicationnetworks, wherein said calling party subscribes to at least two nativecommunication networks, said device comprising: a module for obtaining aplurality of caller identification codes for a calling party, whereineach of said caller identification codes identifies said calling partyin one of said native communication network; a module for obtaining atleast one rule for selecting a caller identification code from saidplurality of caller identification codes according to a characteristicof at least one of said calling party, a called party, and a parameterobtained from an external source; a module for obtaining saidcharacteristic; a module for selecting a caller identification code fromsaid plurality of caller identification codes according to saidcharacteristic; and a module for forwarding said selected calleridentification code to at least one of: a native communication network;and said called party.
 34. A device for configuring CLI, said devicebeing part of a caller device operative in an integrated communicationnetwork, wherein said integrated communication network includes aplurality of native communication networks, wherein said calling partysubscribes to at least two native communication networks, said whereinsaid device is operative to identify a calling party to a called partyin said integrated communication network, said device comprising: amodule for obtaining a plurality of caller identification codes for acalling party, wherein each of said caller identification codesidentifies said calling party in one of said native communicationnetwork; a module for obtaining at least one rule for selecting a calleridentification code from said plurality of caller identification codesaccording to a characteristic of at least one of said calling party, acalled party, and a parameter obtained from an external source; a modulefor obtaining said characteristic; a module for selecting a calleridentification code from said plurality of caller identification codesaccording to said characteristic; and a module for forwarding saidselected caller identification code to at least one of: a nativecommunication network; and said called party.